dict_data = {
    "root": {
        "todos": [
            {
                "title": "todo1",
                "undo": False,
                "content": "something has been happened."
            },
            {
                "title": "todo2",
                "undo": True,
                "content": "oh oh oh"
            }
        ],
        "datas": [
            12,
            13,
            14
        ]
    }
}

import UniversalParser as UP
dictManager = UP.parse_dict(dict_data, analysis_mode=UP.AnalysisMode.RECURSION_OLD)

todos = dictManager.find_nodes_by_tag("todos")

# print(todos[0] & UP.SM.parent)
print(todos[1].title) # todo2
print(todos[1].undo) # True
print(todos[1].content) # oh oh oh

datas = dictManager | 'datas'
print([dictManager.find_text(_) for _ in datas]) # [12, 13, 14]

nodes = dictManager / 12
print(nodes[0] & UP.SM.tag) # datas

nodes = dictManager | 'title'
print([_ & UP.SM.text for _ in nodes]) # ['todo1', 'todo2']